﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using webnew.BLL;
using webnew.Common;
namespace webnew.Systems
{
    public partial class S_titleList : ListBase 
    {

        

        protected void Page_Load(object sender, EventArgs e)
        {

            _EditSrc = "S_titleEdit.aspx";  //编辑页路径   
            //如不需要系统默认的删除功能，则可省略_ListTbName,_DelType和_ConnectionString属性
            _ListTbName = "Sys_title";       //执行删除语句的数据库表名              
            _DelType = DeleteType.FalseDel;// 删除类别,TrueDel:物理删除;FalseDel:逻辑删除
            _ConnectionString = "";       //数据库连接字符串

            _Grdview = grdView           ;//主列表控件（显示数据）
            //btnExcelVisble = false; //设置导出按钮是否可见，默认为true(true:可见，false:不可见)
            //btnViewVisble = false;  //设置查看按钮是否可见,默认为true(true:可见，false:不可见)
            //SetPageWidth = "1500px";//设置该页面宽度
            //ShowMsg="XX错误！";        //设置并显示错误的提示信息
            //_SrcPrams="quit=2&k=1"; //传递参数,与_EditSrc属性相关，如:_SrcPrams=quit=2&k=1,则跳转到编辑页的地址为：S_titleEdit.aspx?quit=2&k=1;请勿与系统框架定义的id,read参数名冲突


            //设置延迟时间，以便能显示UpdateProgress控件
            
            //System.Threading.Thread.Sleep(3000);
            
            if (!IsPostBack)
            {
                SetTitle(true, "后台管理 >> 职务管理");
         
                AspNetPager1_PageChanged(null, null);
            }
        }


      

        /// <summary>
        /// 重写删除事件,使删除后刷新页面;
        /// </summary>
        protected override void _Del()
        {
            //根据选中的公司ID,判断是否能删除
            if (new BLL.Sys_Title().isCanDel(GetSelecetedIDs(grdView)) == false)
            {
                ShowMsg = "职务使用中,不能删除!";
                return;
            }
            //----------系统日志model

            Model.Sys_LogInfo modelLog = new webnew.Model.Sys_LogInfo();
            modelLog.UserID = UserInfor.Id;                  //用户ID
            modelLog.IP = new BLL.Sys_Log().GetUserIP(System.Web.HttpContext.Current.Request);  //IP
            modelLog.Module = new BLL.Sys_Navigation().GetModuleName(this.GetType().BaseType.Name);   //模块名
            modelLog.CreateDate = DateTime.Now;           //创建时间

            string error = "";                   //获取错误信息

            try
            {
                base._Del();
            }
            catch (Exception e)
            {
                error = e.ToString();
            }
            finally
            {
                //添加一条系统日志
                new BLL.Sys_Log().AddSysLog(error, "删除", modelLog, "系统职务", "职务，职务名称为" + GetNames("titlename", _ListTbName));
            }
            AspNetPager1_PageChanged(null, null);
        }

        /// <summary>
        /// 重写导出事件;
        /// </summary>
        protected override void _Excel()
        {
            

            ////////////////////////1.GridView导出Excel示例////////////////////////////////////////////////
            ////导出查询的条件 
            //System.Text.StringBuilder ToExcelconditon = new System.Text.StringBuilder();
            //ToExcelconditon.Append(" isdel=0 and titleName like '%" + txtTitleName.Text.Trim().Replace("'", "") + "%'");
            //ToExcelconditon.Append(" order by sort,titleName,id desc ");
            //string strHeaderText = "职称管理"; //导出的Excel标题
            //string filename = "职称管理";      //Excel文件名 不包括后缀名
            //webnew.Common.CommonHelper.DataGrdBind(grdToExcel, new BLL.Sys_Title().GetconList(ToExcelconditon.ToString()));
            //ToExcel.GridViewToExcel(grdToExcel, strHeaderText, filename);


          
            /////////////////////////2.Excel模板导出方法示例1(填充单条数据到单元格)///////////////////////////////////////
            //string filePath = Server.MapPath("~/daoru.xls"); //Excel模块文件路径
            //string fileName = "职称管理";     //Excel模块文件名,不包括后缀名
            //string strsheet = "Sheet1";      //指定Excel文件的工作薄
            //List<string> lst = new List<string>();
            ////插入单元格数据,用"|"分隔,A|1 代表Excel的行列 ,后面跟要插入的数据
            ////lst.Add("A|1|你打");
            //lst.Add("D|6|合计:");
            //lst.Add("E|6|=sum(E2:E4)");
            ////执行导出,返回是否成功
            //bool issucc = ToExcel.ExamplesToExcel(filePath, fileName, strsheet, lst); ;
            //if (!issucc)
            //{
            //    ShowMsg = "导出失败!";
            //}

            /////////////////////////3.Excel模板导出方法示例2(DataTable填充到模板)//////////////////        
            //string filePath = Server.MapPath("~/Excel/CompanyDateBill.xls"); //Excel模块文件路径
            //string fileName = "职称管理";     //Excel模块文件名,不包括后缀名
            //string strsheet = "Sheet1";      //指定Excel文件的工作薄
            //string strstatr = "D|9";          //填充datatable的开始位置
            ////DataTable dt = ToExcel.ImportToDataTable(Server.MapPath("~/daoru.xls"), "Sheet1",2); //获取要填充的datatable数据源
            ////DataTable dt = new BLL.Sys_Title().GetExcelList(); //获取要填充的datatable数据源 
            //DataTable dt = new BLL.Mea_Billing().GetCompanyBill("47cbc2bb-b553-43c9-9464-01c145dd2e2e");
            //List<string> lst = new List<string>();
            //lst.Add("A|1|22222222"); //插入单元格数据,用"|"分隔,A|1 代表Excel的行列 ,后面跟要插入的数据,可使用Excel计算公式,如:后面跟=sum(E2:E4)                 
            ////执行导出,返回是否成功
            //bool issucc = ToExcel.ExamplesToExcel(filePath, fileName, strsheet, strstatr, dt, lst);
            //if (!issucc)
            //{
            //    ShowMsg = "导出失败!";
            //}

            /////////////////////////////4.导入Excel(DataTable方法)//////////////
            //string filePath = Server.MapPath("~/daoru.xls"); //Excel模块文件路径
            //string strsheet = "Sheet1";     //指定Excel文件的工作薄
            //ToExcel.ImportToDataTable(filePath, strsheet);
          
        }
        /// <summary>
        /// 检索按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
       
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            AspNetPager1_PageChanged(null, null);
           
        }
        /// <summary>
        /// 分页控件事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            //分页的查询的条件 
             System.Text.StringBuilder _conditon = new System.Text.StringBuilder();                    
            _conditon.Append(" isdel=0 and titleName like '%" + txtTitleName.Text.Trim().Replace("'", "") + "%'"); 
            AspNetPager1.RecordCount = new BLL.Sys_Title().GetCount(_conditon.ToString());
            webnew.Common.CommonHelper.DataGrdBind(grdView, new BLL.Sys_Title().GetPageList("*",_conditon.ToString(), grdView.PageSize, AspNetPager1.CurrentPageIndex, _ListTbName, "sort,titleName,id", true));
        }

        protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //鼠标经过变色
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("onmouseover", "GridViewMouseover(this)");
                e.Row.Attributes.Add("onmouseout", "GridViewMouseout(this)");
                e.Row.Attributes.Add("onclick", "GridViewonclick(this)");
            }
        }
    }
}
